package cl.duocap.refaxion.servicios;

import java.sql.Connection;
import java.util.*;
import java.sql.SQLException;





import cl.duocap.refaxion.dao.UsuarioDAO;
import cl.duocap.refaxion.dto.TipoUsuarioDTO;
import cl.duocap.refaxion.dto.UsuarioDTO;
import cl.duocap.refaxion.util.Conexion;



public class UsuarioService {
	
	private UsuarioDAO usuarioDAO;
	Connection c = null;
	
	public UsuarioService() {
		try {
			try{
				c = Conexion.connect();

				usuarioDAO= new UsuarioDAO(); 
				usuarioDAO.setConexion(c);

			}catch(SQLException sql){
				sql.printStackTrace();
			}finally{
				
			}	
		}catch(Exception ex){
			ex.printStackTrace();
		}

	}

	public UsuarioDTO autenticarUsuario(String usuario, String password){
	       return usuarioDAO.autenticarUsuario(usuario,password);
	    }
	
	public boolean registrarUsuarioNuevo(UsuarioDTO usuarioNuevo){
		return usuarioDAO.registrarUsuarioNuevo(usuarioNuevo);
	}
	
	public boolean editarUsuario(UsuarioDTO usuarioEditado){
		return usuarioDAO.editarUsuario(usuarioEditado);
	}
	
	
	public boolean eliminarUsuario(int idUsuario){
		return usuarioDAO.eliminarUsuario(idUsuario);
	}
	
	public UsuarioDTO cargarUsuarioEditar(int idUsuario){
		return usuarioDAO.traerUsuarioEditar(idUsuario);
	}
	
	
	public List<UsuarioDTO> obtenerTodosUsuarios() {
		return usuarioDAO.obtenerTodosUsuarios();
	}
	
	public List<UsuarioDTO> obtenerClientesBuscados(String rutBuscado, String nombreBuscado) {
		return usuarioDAO.obtenerClientesBuscados(rutBuscado,nombreBuscado);
	}

	
	public List<TipoUsuarioDTO> listarTipoUsuario() {
		return usuarioDAO.listarTipoUsuario();
	}


	public UsuarioDAO getUsuarioDAO() {
		return usuarioDAO;
	}

	public void setUsuarioDAO(UsuarioDAO usuarioDAO) {
		this.usuarioDAO = usuarioDAO;
	}
	
	public List<UsuarioDTO> obtenerTodosEmpleados(){
		return usuarioDAO.obtenerTodosEmpleados();
	}
	 
	 

}
